/*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/
#ifndef Shadow_H
#define Shadow_H

#include "pluginapi.h"
#include "scplugin.h"

/*! \brief See scplugin.h and pluginmanager.{cpp,h} for detail on what these methods do.
That documentatation is not duplicated here.
Please don't implement the functionality of your plugin here; do that
in Shadowimpl.h and Shadowimpl.cpp. */
class PLUGIN_API Shadow : public ScActionPlugin
{
	Q_OBJECT

	public:
		//! \brief Standard plugin implementation
		Shadow();
		virtual ~Shadow();
		//! \brief main method to run the plug
		virtual bool run(ScribusDoc* doc, QString target = QString::null);
		virtual const QString fullTrName() const;
		virtual const AboutData* getAboutData() const;
		virtual void deleteAboutData(const AboutData* about) const;
		virtual void languageChange();
		virtual void addToMainWindowMenu(ScribusMainWindow *) {};

		// Special features (none)
};


/*es declarations API sont nécessaires sous Windows pour indiquer clairement quels symboles sont exportés, quels symboles sont importés et lesques ne le sont pas. sous Windows PLUGIN_API est défini comme __declspec(dllexport) et SCRIBUS_API comme __declspec(dllimport) ou __declspec(dllexport) suivant qu'on compile l'executable principal ou le plugin */

extern "C" PLUGIN_API int shadow_getPluginAPIVersion();
extern "C" PLUGIN_API ScPlugin* shadow_getPlugin();
extern "C" PLUGIN_API void shadow_freePlugin(ScPlugin* plugin);

#endif
